
#ifndef DIGIT_NAME
#define NONDIGIT(_nd, _name) _nd,
#define DIGIT(_d, _name) _nd,
#else 
NONDIGIT(_nd, _name) _name,
DIGIT(_d, _name) _name
#endif

NONDIGIT(nd_underline, "_")
NONDIGIT(nd_lower_a, "a")
NONDIGIT(nd_lower_b, "b")
NONDIGIT(nd_lower_c, "c")
NONDIGIT(nd_lower_d, "d")
NONDIGIT(nd_lower_e, "e")
NONDIGIT(nd_lower_f, "f")
NONDIGIT(nd_lower_g, "g")
NONDIGIT(nd_lower_h, "h")
NONDIGIT(nd_lower_i, "i")
NONDIGIT(nd_lower_j, "j")
NONDIGIT(nd_lower_k, "k")
NONDIGIT(nd_lower_l, "l")
NONDIGIT(nd_lower_m, "m")
NONDIGIT(nd_lower_n, "n")
NONDIGIT(nd_lower_o, "o")
NONDIGIT(nd_lower_p, "p")
NONDIGIT(nd_lower_q, "q")
NONDIGIT(nd_lower_r, "r")
NONDIGIT(nd_lower_s, "s")
NONDIGIT(nd_lower_t, "t")
NONDIGIT(nd_lower_u, "u")
NONDIGIT(nd_lower_v, "v")
NONDIGIT(nd_lower_w, "w")
NONDIGIT(nd_lower_x, "x")
NONDIGIT(nd_lower_y, "y")
NONDIGIT(nd_lower_z, "z")
NONDIGIT(nd_upper_A, "A")
NONDIGIT(nd_upper_B, "B")
NONDIGIT(nd_upper_C, "C")
NONDIGIT(nd_upper_D, "D")
NONDIGIT(nd_upper_E, "E")
NONDIGIT(nd_upper_F, "F")
NONDIGIT(nd_upper_G, "G")
NONDIGIT(nd_upper_H, "H")
NONDIGIT(nd_upper_I, "I")
NONDIGIT(nd_upper_J, "J")
NONDIGIT(nd_upper_K, "K")
NONDIGIT(nd_upper_L, "L")
NONDIGIT(nd_upper_M, "M")
NONDIGIT(nd_upper_N, "N")
NONDIGIT(nd_upper_O, "O")
NONDIGIT(nd_upper_P, "P")
NONDIGIT(nd_upper_Q, "Q")
NONDIGIT(nd_upper_R, "R")
NONDIGIT(nd_upper_S, "S")
NONDIGIT(nd_upper_T, "T")
NONDIGIT(nd_upper_U, "U")
NONDIGIT(nd_upper_V, "V")
NONDIGIT(nd_upper_W, "W")
NONDIGIT(nd_upper_X, "X")
NONDIGIT(nd_upper_Y, "Y")
NONDIGIT(nd_upper_Z, "Z")

DIGIT(d_0, "0")
DIGIT(d_1, "1")
DIGIT(d_2, "2")
DIGIT(d_3, "3")
DIGIT(d_4, "4")
DIGIT(d_5, "5")
DIGIT(d_6, "6")
DIGIT(d_7, "7")
DIGIT(d_8, "8")
DIGIT(d_9, "9")
